<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8" />
		<base href="../../../../" />
		<script src="page.js"></script>
		<link type="text/css" rel="stylesheet" href="page.css" />
	</head>
	<body>
		<h1>[name]</h1>

		<p class="desc">
			A doubly linked list of vertices.
		</p>

		<h2>Import</h2>

		<p>
			[name] is an add-on, and must be imported explicitly.
			See [link:#manual/introduction/Installation Installation / Addons].
		</p>

		<code>
			import { VertexList } from 'three/addons/math/ConvexHull.js';
		</code>


		<h2>Constructor</h2>


		<h3>[name]()</h3>
		<p>
			Creates a new instance of [name].
		</p>

		<h2>Properties</h2>

		<h3>[property:VertexNode head]</h3>
		<p>
			Reference to the first vertex of the linked list. Default is null.
		</p>

		<h3>[property:VertexNode tail]</h3>
		<p>
			Reference to the last vertex of the linked list. Default is null.
		</p>

		<h2>Methods</h2>

		<h3>[method:VertexNode first]()</h3>
		<p>Returns the head reference.</p>

		<h3>[method:VertexNode last]()</h3>
		<p>Returns the tail reference.</p>

		<h3>[method:this clear]()</h3>
		<p>Clears the linked list.</p>

		<h3>[method:this insertBefore]( [param:Vertex target], [param:Vertex vertex] )</h3>
		<p>
			[page:Vertex target] - The target vertex. It's assumed that this vertex belongs to the linked list.<br />
			[page:Vertex vertex] - The vertex to insert.<br /><br />

			Inserts a vertex <strong>before</strong> a target vertex.
		</p>

		<h3>[method:this insertAfter]( [param:Vertex target], [param:Vertex vertex] )</h3>
		<p>
			[page:Vertex target] - The target vertex. It's assumed that this vertex belongs to the linked list.<br />
			[page:Vertex vertex] - The vertex to insert.<br /><br />

			Inserts a vertex <strong>after</strong> a target vertex.
		</p>

		<h3>[method:this append]( [param:Vertex vertex] )</h3>
		<p>
			[page:Vertex vertex] - The vertex to append.<br /><br />

			Appends a vertex to the end of the linked list.
		</p>

		<h3>[method:this appendChain]( [param:Vertex vertex] )</h3>
		<p>
			[page:Vertex vertex] - The head vertex of a chain of vertices.<br /><br />

			Appends a chain of vertices where the given vertex is the head.
		</p>

		<h3>[method:this remove]( [param:Vertex vertex] )</h3>
		<p>
			[page:Vertex vertex] - The vertex to remove.<br /><br />

			Removes a vertex from the linked list.
		</p>

		<h3>[method:this removeSubList]( [param:Vertex a], [param:Vertex b] )</h3>
		<p>
			[page:Vertex a] - The head of the sublist.<br />
			[page:Vertex b] - The tail of the sublist.<br /><br />

			Removes a sublist of vertices from the linked list.
		</p>

		<h3>[method:Boolean isEmpty]()</h3>

		<p>Returns true if the linked list is empty.</p>

		<h2>Source</h2>

		<p>
			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/math/ConvexHull.js examples/jsm/math/ConvexHull.js]
		<p>
	</body>
</html>
